/**
 * Project: TacticaPescaditos
 * File: State.java
 */
package org.javahispano.javacup.tacticas_aceptadas.Pescaditos.com.chidotronics.javacup.fsm.state;

import org.javahispano.javacup.tacticas_aceptadas.Pescaditos.com.chidotronics.javacup.messages.Telegram;


/**
 * @author Carlos Alberto
 * class: State
 */
public interface State<E> {


	/**
	 * @param o
	 */
	public void enter(E o);

	/**
	 * @param o
	 */
	public void execute(E o);

	/**
	 * @param o
	 */
	public void exit(E o);

	/**
	 * @param o
	 * @param telegram
	 * @return 
	 */
	public boolean onMessage(E o, Telegram telegram);


}
